1. Field of Invention
The present invention pertains to the field of devices having processing resources. More particularly, this invention relates to memory management in devices having processing resources.
2. Art Background
A wide variety of devices including printers, copiers, telephones, home entertainment devices, etc., commonly include processing resources. Such a device may be referred to as an embedded system because an application is embedded with the processing resources rather than loaded off of a replaceable media as in a computer system. The processing resources in such a device may be relatively limited due to packaging constraints and/or cost constraints.
The processing resources in such a device usually include memory. It is usually desirable to implement such a device with relatively large amounts of memory. Typically, larger amounts of memory enables the implementation of more complex functionality in the device. In addition, larger amounts of memory usually increase the speed of the device in performing its functions. Unfortunately, larger amounts of memory usually increase the cost of such a device.
Some prior devices attempt to increase the effective size of memory by compressing the information stored in the memory. The compression in prior devices is usually performed by the application programs that execute in the devices. Unfortunately, the implementation of compression at the application level usually greatly increases the cost of application development and may decrease stability of application execution.
A device is disclosed with compressing memory management for effectively increasing the size of its physical memory while insulating applications from the underlying memory compression. A device according to the present techniques includes a memory that holds a set of information in a compressed domain and a processor that accesses the information in an uncompressed domain. The device includes mechanisms for transferring the information between the compressed and uncompressed domains in a manner that is transparent to applications and other software elements executing in the device.
Other features and advantages of the present invention will be apparent from the detailed description that follows.